<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use DB;
use Hash;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Requests\UserFromPostRequest;

class UserConteroller extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function getIndex()
    {
       // echo'adjfia';

        //查询所有数据
       // $users=DB::table('users')->get();
        $users=DB::table('users')->paginate(10);

        //解析
        return view('Admin.user.index',['users'=>$users]);

    }
    /**
     *后台用户添加
     *
     *@return view 用户添加表单
     */
    public function getAdd(){
     
     //解析模板
    return view('admin.user.add');
    }

    /**
     *后台用户添加处理
     *
     *@return insert 用户添加数据
     */
    public function postInsert(UserFromPostRequest $request){
     
   //查看提交过来的方法
        //获取所有的提交数据
        //var_dump($request->all());

        //单独提取某个值
        //dd($request->input('username'));

        //验证数据 用户名不能为空
       // if($request->input('username') == ''){

            //闪存所有数据
        //    $request->flash();
        //    return back();
       // }

       /* $this->validate($request,[
            'username'=>'required|max:255',
            'password'=>'required',
            'email'=>'required',
            ],[
                'username.required'=>'用户名必须填写',
                'password.required'=>'密码必须填写',
                'email.required'=>'邮箱必须填写',
            ]);*/

    

        //除了某个不要
        $data=$request->except('_token');

        //检测是否有文件上传
        $data['pic']=$this->upload($request);
       // dd($data);
       
        $data['password']=Hash::make($data['password']);
        //dd($data);
        //把数据插到数据库
        $res=DB::table('users')->insertGetId($data);
       // dd($res);
        if($res){

            //重定向到user/index
            return redirect('admin/user/index')->with('success','用户添加成功');
        }else{
            //回到上个页面
            return back()->with('error','用户添加失败');
        }

    }

    //文件上传操作
    public function upload($request){
       
        //检测是否有文件上传
        if($request->hasFile('pic')){
             
             //随机名
            $name=md5(time()+rand(1,999));

            //后缀名
            $su=$request->file('pic')->getClientOriginalExtension();
           $request->file('pic')->move('./public/uploads',$name.'.'.$su);
            return './public/uploads/'.$name.'.'.$su;
           


        }

     // dd($request->all());
    }

    //用户删除
    public function getDel(Request $request){

        //获取
       $id=$request->input('id');
       //dd($id);
       //执行
       $res=DB::table('users')->where('id',$id)->delete();

        echo $res;

    }

    //用户修改
    public function getEdit($id){

       //根据id查信息
        $users=DB::table('users')->where('id',$id)->first();


        //解析模板
        return view('Admin.user.edit',['users'=>$users]);
    }


    //执行用户数据的修改
    public function postUpdate(Request $request){
        $data=$request->except('_token');


        if($request->hasFile('pic')){
            //调用方法进行头像上传
            $data['pic']=$this->upload($request);
        }
       
        //dd($data);
       //执行数据修改
        $res=DB::table('users')->where('id',$data['id'])->update($data);
       // dd($res);

       if($res){

             //重定向到user/index
            return redirect('admin/user/index')->with('success','用户修改成功');
        }else{
            //回到上个页面
            return back()->with('error','用户修改失败');

        }

        
    }

}